#ifndef __SHARED_SETTINGS_H__
#define __SHARED_SETTINGS_H__
 

#include "StdDefs.h"

enum TRANSFORM_TYPE
{
	TRANS_NONE = 0,
	TRANS_MIRROR_ROT180,
	TRANS_MIRROR,
	TRANS_ROT180,
	TRANS_MIRROR_ROT270,
	TRANS_ROT90,
	TRANS_ROT270,
	TRANS_MIRROR_ROT90
};

// Fixed point settings 
#define CMathFixed16_Type								int16		// int16,
#define CMathFixed_Type									int32		// int16, int32, GLfixed
#define CMathFixed_Type64								int64	
#define CMathFixed_NumberOfFractionalBits				10			// 4, 8, 10, 12, 16
#define CMathFixed16_NumberOfFractionalBits				4			// 4, 8, 10, 12, 16

// for transformation matricies
#define TRANSFORM_One      ( 1 << TRANSFORM_fxp )
#define TRANSFORM_fxp      8

#define _PI		3.1415926535897932384626433832795f
#define _PI2	9.8696044010893586188344909998762f


#define CMatrix3d_LookAtUpVectorTolerance				( ( 1 << CMathFixed_NumberOfFractionalBits ) - 100 ) 
#define CMatrix4dh_LookAtUpVectorTolerance				( ( 1 << CMathFixed_NumberOfFractionalBits ) - 100 )



// 3d Orientation settings
#define COrientation_Use_CMatrix4dh						
//#define COrientation_Use_CQuaternion

#if defined( COrientation_Use_CMatrix4dh )
	typedef class CMatrix4dh COrientation;
#elif defined( COrientation_Use_CQuaternion )
	typedef class CQuaternion COrientation;
#endif




// Resource management settings
#define CResourceManager_DefaultTableSize								500
#define CResourceManager_DefaultNumOfElementsInInitialAlloc				33




// Event system settings
// max number of params per message
#define CMessage_MaxNumberOfParams										8
	




#endif	// #ifndef __SHARED_SETTINGS_H__
